package com.example;

import com.example.datasource.DataSourceConfig;
import java.sql.Connection;
import java.sql.SQLException;

/**
 * 数据库连接管理器
 * 负责管理数据库连接，不包含具体的业务逻辑
 */
public class DatabaseManager {
    
    /**
     * 获取数据库连接
     * @return 数据库连接
     * @throws SQLException 连接异常
     */
    public static Connection getHikariConnection() throws SQLException {
        return DataSourceConfig.createDataSource().getConnection();
    }
    
    /**
     * 测试数据库连接
     * @return 连接是否成功
     */
    public static boolean testConnection() {
        try (Connection conn = getHikariConnection()) {
            return conn != null && !conn.isClosed();
        } catch (SQLException e) {
            System.err.println("数据库连接测试失败: " + e.getMessage());
            return false;
        }
    }
    
    /**
     * 关闭数据源
     * 应用程序关闭时调用
     */
    public static void closeDataSource() {
        DataSourceConfig.closeDataSource();
    }
}